package net.servir.capacidades.service.impl;

import java.util.LinkedList;
import java.util.List;

import net.servir.capacidades.dao.SistemaAdmDao;
import net.servir.capacidades.model.Actividad;
import net.servir.capacidades.model.Ambito;
import net.servir.capacidades.model.Etapa;
import net.servir.capacidades.model.FuncionLeyenda;
import net.servir.capacidades.model.GenOption;
import net.servir.capacidades.model.PreguntaServicio;
import net.servir.capacidades.model.PreguntaTipo;
import net.servir.capacidades.model.PruebaInstructivo;
import net.servir.capacidades.model.PuestoTipo;
import net.servir.capacidades.model.Sistema;
import net.servir.capacidades.model.Enumerados.ProfundidadDatosSistema;
import net.servir.capacidades.service.SistemaAdmService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class SistemaAdmServiceImpl implements SistemaAdmService {

	@Autowired
	private SistemaAdmDao sistemaAdmDao; 
	
	public List<Sistema> getSistemas()
	{
		return sistemaAdmDao.getSistemas();
	}
	

	public List<Ambito> getAmbitos() {
		// TODO Auto-generated method stub
		return null;
	}


	public Sistema getSistema(Number idSistema) 
	{		
		return sistemaAdmDao.getSistema(idSistema,ProfundidadDatosSistema.CON_AMBITOS);
	}
	public Sistema getSistema(Number idSistema,ProfundidadDatosSistema profundidad)
	{
		return sistemaAdmDao.getSistema(idSistema,profundidad);
	}
	
	public Number grabarSistema(Sistema sistema)
	{
		return sistemaAdmDao.grabarSistema(sistema);
	}
	
	public void grabarSistemaBienvenida(Sistema sistema)
	{
		sistemaAdmDao.grabarSistemaBienvenida(sistema);
	}
	
	public Number grabarAmbito(Ambito ambito)
	{
		return sistemaAdmDao.grabarAmbito(ambito);
	}
	public Number grabarEtapa(Etapa etapa)
	{
		return sistemaAdmDao.grabarEtapa(etapa);
	}
	public Number grabarFuncion(FuncionLeyenda funcion)
	{
		return sistemaAdmDao.grabarFuncion(funcion);
	}
	public Number grabarActividad(Actividad actividad)
	{
		return sistemaAdmDao.grabarActividad(actividad);
	}
	
	public String validarEliminarSistema(Number idSistema)
	{
		return sistemaAdmDao.validarEliminarSistema(idSistema);
	}
	
	public void eliminarSistema(Number idSistema)
	{
		sistemaAdmDao.eliminarSistema(idSistema);
	}
	public String validarEliminarAmbito(Number idAmbito)
	{
		return sistemaAdmDao.validarEliminarAmbito(idAmbito);
	}
	public String validarEliminarPuestoTipo(Number idPuestoTipo)
	{
		return sistemaAdmDao.validarEliminarPuestoTipo(idPuestoTipo);
	}
	public String validarEliminarPreguntaTipo(Number idPreguntaTipo)
	{
		return sistemaAdmDao.validarEliminarPreguntaTipo(idPreguntaTipo);
	}
	public String validarEliminarPreguntaServicio(Number idPreguntaServicio)
	{
		return sistemaAdmDao.validarEliminarPreguntaServicio(idPreguntaServicio);
	}
	public void eliminarAmbito(Number idAmbito)
	{
		sistemaAdmDao.eliminarAmbito(idAmbito);
	}
	public void eliminarPuestoTipo(Number idPuestoTipo)
	{
		sistemaAdmDao.eliminarPuestoTipo(idPuestoTipo);
	}
	public void eliminarPreguntaTipo(Number idPreguntaTipo)
	{
		sistemaAdmDao.eliminarPreguntaTipo(idPreguntaTipo);
	}

	public void eliminarPreguntaServicio(Number idPreguntaServicio)
	{
		sistemaAdmDao.eliminarPreguntaServicio(idPreguntaServicio);
	}

	public LinkedList<GenOption> getGrupoPuestoTipos() {
		return sistemaAdmDao.getGrupoPuestoTipos();
	}

	public Number grabarPuestoTipo(PuestoTipo puestoTipo) {
		return sistemaAdmDao.grabarPuestoTipo(puestoTipo);
	}

	public Number grabarPreguntaTipo(PreguntaTipo preguntaTipo) {
		return sistemaAdmDao.grabarPreguntaTipo(preguntaTipo);
	}
	
	public Number grabarPreguntaServicio(PreguntaServicio preguntaServicio) {
		return sistemaAdmDao.grabarPreguntaServicio(preguntaServicio);
	}
	
	public String validarEliminarActividad(Number idActividad){
		return sistemaAdmDao.validarEliminarActividad(idActividad);
	}
	public void eliminarActividad(Number idActividad){
		sistemaAdmDao.eliminarActividad(idActividad);
	}
	public String validarEliminarFuncion(Number idFuncion){
		return sistemaAdmDao.validarEliminarFuncion(idFuncion);
	}
	public void eliminarFuncion(Number idFuncion){
		sistemaAdmDao.eliminarFuncion(idFuncion);
	}
	public String validarEliminarEtapa(Number idEtapa){
		return sistemaAdmDao.validarEliminarEtapa(idEtapa);
	}
	public void eliminarEtapa(Number idEtapa){
		sistemaAdmDao.eliminarEtapa(idEtapa);
	}
	
}
